package com.ztesoft.web.common.customdb.dao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ztesoft.core.common.Page;
import com.ztesoft.web.common.customdb.dao.dto.ApprovaTaskStageDto;
import com.ztesoft.web.common.customdb.dao.dto.ApprovalDto;
import com.ztesoft.web.common.customdb.dao.dto.DmTaskStageDto;

public interface IDmTaskStageCustomMapper {

	List<DmTaskStageDto> selectTaskStageList(@Param("taskId")Integer taskId, @Param("strategyId")Integer strategyId, 
			@Param("stage")Integer stage, @Param("state")String state);
	
	int updateTaskStage(@Param("taskStagePO")DmTaskStageDto po);
	
	int updateTaskStageState(@Param("taskStagePO")DmTaskStageDto po);
	
	int updateTaskStageState1(@Param("taskStagePO")DmTaskStageDto po);
	
	int updateTaskStageCheckCount(@Param("taskStagePO")DmTaskStageDto po);

	/**
	 * 数据审批查询
	 * @param planName
	 * @return
	 */
	List<ApprovalDto> selectLikePlanName(@Param("planName")String planName, 
			@Param("checkState")String checkState, @Param("checkState_")String checkState_);

	int updateApp(@Param("taskStage")ApprovaTaskStageDto taskStage);

	int qryCount(@Param("taskId")Integer dmTaskId, @Param("isCheck")Integer isCheck);
	
	int updateTaskStage_(@Param("isCheck")int isCheck, @Param("taskIdArr")int[] taskIdArr, @Param("desc")String desc);

	List<ApprovalDto> selectListByArgAndPage(@Param("planName")String planName, 
			@Param("checkState")String checkState, @Param("checkState_")String checkState_, 
			Page<ApprovalDto> resultListPage);
	
	void updateStageByTaskId(@Param("taskId")Integer dmTaskId);
	
	DmTaskStageDto selectByPrimaryKey(@Param("dmInfoId")Integer dmInfoId);

}